<h1><?=$lang[hangar][hangar]?></h1>
<?
echo sprintf($lang[hangar][res_back_for_recycling], 100 * $config_fraktion[2][recycling]);
//Überprüfen ob der Abruf über die Hauptseite erfolgt
if(!defined('InStern')) exit;
//Größe des Lagers ermitteln:
$lager=(($planet[Geb_Lager]+1)*$config[lager]);
if($planet[Geb_Hangar]==0){
    echo "<div class=\"info\">Du hast noch keinen Hangar errichtet</div>";
}else{
    //Laden der sich im Bau befindenenden Schiffe und berechnung der Auslastung
    $auslastung=0;
    $auslastungMax=round($planet[Geb_Hangar]*$config[hangar][size]);
    $result=$db->query("SELECT * FROM schiffsbau WHERE Spieler=$spieler[Id] ORDER BY Typ;");
    while($line=$db->fetch_assoc($result)){
        if($line[Planet]==$planet[Id]){
		    //Werden die Schiffe auf diesem Planeten gebaut?
            $schiffsbau[$line[Typ]][$line[Id]][Anzahl]=$line[Anzahl];
            $schiffsbau[$line[Typ]][$line[Id]][Fertig]=$line[Fertig];
            $auslastung+=$config_schiff[$line[Typ]][punkte]*$line[Anzahl];
        }
		//Besatzung wird immer ausgewertet
        $besatzung+=$config_schiff[$line[Typ]][besatzung]*$line[Anzahl];
    }
	//Die Besatzung der noch nicht gebauten Schiffe wird schonmal auf die Bewohner aufgerechnet
    $spieler[Bewohner]+=$besatzung;
    $auslastung=round($auslastung);
    if($_POST['do']=="bauen" AND $_SESSION[acid]==$_POST[acid]){
        foreach($_POST[schiff] AS $nr => $anzahl){
		    //sichergehen das nur Integer übertragen wurden:
			$nr=intval($nr);
			$anzahl=intval($anzahl);
            if($anzahl>0){
			    //Ok Trigger wird zurückgesetzt
                $ok=true;
				//Überprüfen der Gebäudebedingungen
                if(isset($config_schiff[$nr][need_geb])){
		            foreach($config_schiff[$nr][need_geb] AS $build =>$stufe){
		                if($planet[$build]<$stufe){
			                $ok=false;
							$miss=$lang[hangar][ship_cannot_be_built_yet_b];
					    }
				    }
				}
				//Überprüfen der Forschungsbedingungen
                if(isset($config_schiff[$nr][need_forsch])){
		            foreach($config_schiff[$nr][need_forsch] AS $build =>$stufe){
		                if($spieler[$build]< $stufe){
		                    $ok=false;
							$miss=$lang[hangar][ship_cannot_be_built_yet_r];
					    }
					}
				}
				//Jetzt ist schonmal generell geklärt, ob der Spieler das Schiff überhaupt bauen kann. Ab jetzt bekommt er sogar meldungen
                if($ok){
                    foreach($config_schiff[$nr][cost] AS $r=>$value){
                        if($planet['Ress'.$r]<$config_schiff[$nr][cost][$r]*$anzahl){
						    $ok=false;   
							$miss=$lang[hangar][not_enough_resources];
						} else {
  						    $planet['Ress'.$r]=$planet['Ress'.$r]-$config_schiff[$nr][cost][$r]*$anzahl;
					    }
				    }
                }
				//Als nächstes wird überprüft, ob die Anzahl der Bewohner passt
                if($spieler[BewohnerMax]-$spieler[Bewohner]<$config_schiff[$nr][besatzung]*$anzahl){
		            $ok=false;
					$miss=$lang[hangar][not_enough_available_units];
				}                
				//und dann die Auslastung
                if($auslastungMax-$auslastung<$config_schiff[$nr][punkte]*$anzahl) {
				    $ok=false;
					$miss=$lang[hangar][hangar_overwhelmed];
				}
				//Wenn alles geprüft ist, kann eigentlich gebaut werden
		        if($ok){
                    $fertig=date(U)+$config_schiff[$nr][zeit]/$config['Speed'];
                    $zid=rand(-100,0); //Zufallsid für den Übergang->Damit die ids nicht aus der DB geladen werden müssen
                    $schiffsbau[$nr][$zid][Anzahl]=$anzahl;
                    $schiffsbau[$nr][$zid][Fertig]=$fertig;         
                    $auslastung+=$config_schiff[$nr][punkte]*$anzahl;
                    $db->query("UPDATE planet SET Ress1='$planet[Ress1]', Ress2='$planet[Ress2]', Ress3='$planet[Ress3]', Ress4='$planet[Ress4]', Ress5='$planet[Ress5]' WHERE Id='$planet[Id]';");
                    $db->query("INSERT INTO schiffsbau(Server, Spieler,Planet, Typ, Anzahl, Fertig) VALUES($spieler[Server], $spieler[Id],'$planet[Id]',$nr, $anzahl, $fertig);");
                    $spieler[Bewohner]=$spieler[Bewohner]+($config_schiff[$nr][besatzung]*$anzahl);
                    $spieler[BewohnerMax]-=$config_schiff[$nr][besatzung]*$anzahl;
			    }else{
			        echo "<div class=\"error\">" . sprintf($lang[hangar][ship_could_not_be_built], $config_schiff[$nr][name][$spieler[Fraktion]]) . ": $miss</div>";
			    }
            } //Ende Anzahl >0
        } //ende durchlaufen der Schiffe
   }
   if($_POST['do']=="resyclen" AND $_SESSION[acid]==$_POST[acid]){
        foreach($_POST[schiff] AS $nr => $anzahl){
		    //sichergehen das nur Integer übertragen wurden:
		    $nr=intval($nr);
			$anzahl=intval($anzahl);
			//Vermeiden das zu viel Recyelt wird
			if($anzahl>$planet["Schiff$nr"]){
			    $anzahl=$planet["Schiff$nr"];			
			}
		    if($anzahl>0){
                //echo "<br>$anzahl x ".$config_schiff[$nr][name][$spieler[Fraktion]]." werden resycled";
				$schiff=$config_schiff[$nr];
				foreach($schiff[cost] AS $ressource=>$menge){
				    $cashback[$ressource]+=$menge*$anzahl*$config_fraktion[2][recycling];
				}
			    $db->query("UPDATE planet SET Schiff$nr=Schiff$nr-$anzahl WHERE Id=$planet[Id];");
			}				
        }   
		//echo "<br>Das macht <pre>".print_r($cashback,true)."</pre>";
		settype($cashback,"array");
		foreach($cashback AS $ressId=>$anzahl){
		    $planet["Ress$ressId"]+=$anzahl;
		}
        $db->query("UPDATE planet SET Ress1='$planet[Ress1]', Ress2='$planet[Ress2]', Ress3='$planet[Ress3]', Ress4='$planet[Ress4]', Ress5='$planet[Ress5]' WHERE Id='$planet[Id]';");
   }//ende recycling
   ?>

  <script type="text/javascript">
   var auslastung=<?echo $auslastung;?>;
   var auslastungMax=<?echo $auslastungMax;?>;
   r=new Array();
   schiff_ress=new Array();
   schiff_ress[1]=new Array();
   schiff_ress[2]=new Array();
   schiff_ress[3]=new Array();
   schiff_ress[4]=new Array();
   schiff_ress[5]=new Array();
   schiff_auslastung=new Array();
   schiff_anzahl=new Array();
   modus=0;
   <?
   //Laden aller Schiffdaten für JavaScript
   foreach($config_schiff as $key=>$value)
   {
     foreach($config_ress as $r=>$v)
       echo "
       schiff_ress[$r][$key]=".intval($config_schiff[$key][cost][$r]).";
       schiff_auslastung[$key]=".$config_schiff[$key][punkte].";
       ";
     echo "
     schiff_ress[5][$key]=".intval($config_schiff[$key][besatzung]).";
     ";
     echo "
     schiff_anzahl[$key]=".intval($planet["Schiff".$key]).";
     ";
   }
   ?>
   function changeMode(m)
   {
     modus=m;
	 renew();
	 if(modus==0)
	 {
	   document.getElementById('submitbutton').value='<?=$lang[hangar][submit_task]?>';
	   document.getElementById('hiddendo').value='bauen';
	 }
	 else
     {
	   document.getElementById('submitbutton').value='<?=$lang[hangar][recycle2]?>';
	   document.getElementById('hiddendo').value='resyclen';
     } 	 
   }
   function renew()
   {
     var gesamt=0;
     auslastung=<?echo $auslastung?>;
     var ok=true; 
     //Ressourcen neu laden
     for(var i=1; ress[i]!=null;i++) r[i]=ress[i];
     r[5]=<?echo ($spieler[BewohnerMax]-$spieler[Bewohner])?>;
     //Ausrechnen der Ressourcenreste
     for(var i=1;i<=<?echo count($config_schiff)?>;i++)
     {
       if(document.getElementById('anzahl'+i))
       {
         //Feldwert in eine Zahl umwandeln
         document.getElementById('anzahl'+i).value=parseInt(document.getElementById('anzahl'+i).value);
         //Zahl auslesen
         anzahl=document.getElementById('anzahl'+i).value;
         gesamt+=anzahl;
		 if(modus==0)
		 {
           r[1]-=anzahl*schiff_ress[1][i];
           r[2]-=anzahl*schiff_ress[2][i];
           r[3]-=anzahl*schiff_ress[3][i];
           r[4]-=anzahl*schiff_ress[4][i];
           r[5]-=anzahl*schiff_ress[5][i];
           auslastung+=anzahl*schiff_auslastung[i];
		 }
		 else
		 {
           r[1]+=anzahl*schiff_ress[1][i]*<?echo $config_fraktion[4][recycling]?>;
           r[2]+=anzahl*schiff_ress[2][i]*<?echo $config_fraktion[4][recycling]?>;
           r[3]+=anzahl*schiff_ress[3][i]*<?echo $config_fraktion[4][recycling]?>;
           r[4]+=anzahl*schiff_ress[4][i]*<?echo $config_fraktion[4][recycling]?>;
           r[5]+=anzahl*schiff_ress[5][i]*<?echo $config_fraktion[4][recycling]?>;
           auslastung=<?echo $auslastung;?>;		 
		 }
       } //Ende Schiff existiert
     }//ende for i
     //Ressourcen wieder ausgeben
     for(i=1; r[i]; i++) 
     {
       if(r[i]<0) 
       {
         document.getElementById('rest'+i).style.color='red';
         ok=false;
       }
       else 
         document.getElementById('rest'+i).style.color='white';
		 if(r[i]><?echo $lager?>)
		   r[i]=<?echo $lager?>;
       document.getElementById('rest'+i).innerHTML=Math.floor(r[i]);
     }
     auslastung=auslastung/auslastungMax*100;
     document.getElementById('label_auslastung').innerHTML=Math.ceil(auslastung)+'%';
     if(auslastung>100) 
     {
       document.getElementById('label_auslastung').style.color='red';
       ok=false;
     }
     else document.getElementById('label_auslastung').style.color='white';
     //Submitbutton deaktivieren
     if(ok) document.getElementById('submitbutton').disabled=false;
     else document.getElementById('submitbutton').disabled=true;
   } //ende Function
 
   function getMax(id)
   {
     if(modus==0)
	 {
       var anzahl=0;
       var max=(auslastungMax-auslastung)/schiff_auslastung[id];
       for(var i=1; r[i]!=null;i++)
       {
         if(schiff_ress[i][id]>0) anzahl=r[i]/schiff_ress[i][id];
         if(max==-1 || max>anzahl) max=anzahl;
       }
	 }
	 if(modus==1)
	 {
	   var max=schiff_anzahl[id]; 	 
	 }
     return Math.floor(max);
   }
 
   function change(id, direction)
   {
     if(r[1]==null) renew();//Fals renew noch nicht ausgeführt wurde, ausführen
     var feld=document.getElementById('anzahl'+id);
     var haben=parseInt(feld.value);
     //gucken wie viele noch möglich sind
     var max=getMax(id);
     //gucken obs möglich ist
     var ok=true; 
     var add=0;  
     var step=Math.round(haben*0.2);
     if(step<1) step=1;
     if(direction=='down')
     {
       if(haben<=0) 
	     step=0;
       feld.value=haben-step;
     }
     if(direction=='up')
     {
       if(step>=max) step=max;
       if(max>0 && step+haben<=max) feld.value=haben+step;
     }
     //Ressourcen berechnen
     renew();
   } //Ende Funktion change
 
   function set_all(id)
   {
     var feld=document.getElementById('anzahl'+id);
     feld.value=0;
     renew();
     feld.value=getMax(id);
     renew();
   }
  </script>
  <?
  //Anzeige der Verbleibenden Ressourcen
  echo "
  <fieldset> 
   <legend>" . $lang[hangar][remaining_resources] . "</legend>
   <table align=\"center\" style=\"border-collapse:collapse;\">
    <tr>";
      foreach($config_ress as $key=>$value)
      {
        echo "<th width=\"15px\"><img src=\"".$value[img]."\" alt=\"".$value[name]."\" /></th>
        <td width=\"50px\" align=\"left\" id=\"rest$key\">".round($planet["Ress".$key])."</td>
        ";
      }
      echo"
      <td>
      <th width=\"15px\"><img src=\"images/units.png\" alt=\"" . $lang[hangar][crew] . "\" /></th>
      <td width=\"50px\" align=\"left\" id=\"rest5\">".($spieler[BewohnerMax]-$spieler[Bewohner])."</td>
      <td><b>Auslastung:</b></td>
      <td id=\"label_auslastung\">".round($auslastung/$auslastungMax*100)."%</td>
	  <td>
	    &nbsp;
	    <b>" . $lang[hangar][mode] . ":</b>
	    <select onchange=\"changeMode(this.value);\">
		  <option value=\"0\">" . $lang[hangar][build] . "</option>
		  <option value=\"1\">" . $lang[hangar][recycle] . "</option>
		</select>
	  </td>
    </tr>
   </table>
  </fieldset>";
  //Compat-View Option in eine Extra-Variable, da ich keinen Bock habe soviel zu schreiben 
  if($_SESSION[user][Option_Compact]=="on") $compact=true;
  else $compact=false;
  //Starten der Anzeige
  $_SESSION[acid]=rand(111111111,9999999999);
  echo "
  <form action=\"$_SERVER[PHP_SELF]\" method=\"post\">
   <input type=\"hidden\" name=\"do\" id=\"hiddendo\" value=\"bauen\" />
   <input type=\"hidden\" name=\"page\" value=\"hangar\" />
   <input type=\"hidden\" name=\"acid\" value=\"$_SESSION[acid]\" />";
   if($compact)
   {
     echo "
     <table width=\"100%\" class=\"hangar_compact\">
      <tr>
       <th width=\"30px\">&nbsp;</th>
       <th>&nbsp;</th>";
       foreach($config_ress as $key=>$value)
       {
         echo "<th width=\"50px\" align=\"center\"><img src=\"".$value[img]."\" alt=\"".$value[name]."\" /></th>";
       }
       echo "
       <th width=\"50px\" align=\"center\"><img src=\"images/units.png\" title=\"" . $lang[hangar][crew] . "\" alt=\"" . $lang[hangar][crew] . "\" /></th>
       <th align=\"center\"><img src=\"images/uhr.png\" title=\"" . $lang[hangar][building_time] . "\" alt=\"" . $lang[hangar][building_time] . "\" /></th>
       <th width=\"18px\">&nbsp;</th>
       <th width=\"50px\">&nbsp;</th>
       <th width=\"18px\">&nbsp;</th>
       <th width=\"25px\">&nbsp;</th>
      </tr>";
   }
   //Anzeigen der einzelnen Schiffe
   foreach($config_schiff AS $id=>$ship)
   {
     $ok=true;
     //Prüfen ob gebaut werden kann
     if(isset($ship[need_geb])) 
	   foreach($ship[need_geb] AS $geb=>$stufe) 
	     if($planet[$geb]<$stufe) 
		   $ok=false;
     if(isset($ship[need_forsch])) 
	   foreach($ship[need_forsch] AS $forsch=>$stufe) 
	     if($spieler[$forsch]<$stufe) 
		   $ok=false;
     if($ok)
     {
       //Ressourcen durchlaufen
       for($i=1;$i<=4;$i++) $ress[$i]=intval($ship[cost][$i]);
       $ress[5]=$ship[besatzung];
       //Kompakte Ansicht
       if($compact){
         $info = "
            <table style='font-size: 10px;'>
                <tr>
                    <th style='text-align: left;'>Attack:</th>
                    <td>" . str_replace('"', "'", statusbar($ship[show_off],10)) . "</td>
                </tr>
                <tr>
                    <th style='text-align: left;'>Defense:</th>
                    <td>" . str_replace('"', "'", statusbar($ship[show_def],10)) . "</td>
                </tr>
                <tr>
                    <th style='text-align: left;'>Lager:</th>
                    <td>" . str_replace('"', "'", statusbar($ship[lager],20000)) . "</td>
                </tr>
                <tr>
                    <th style='text-align: left;'>Speed:</th>
                    <td>" . str_replace('"', "'", statusbar(9-(3*$ship[flugzeit]),9)) . "</td>
                </tr>
            </table>
         ";
         echo "
         <tr class=\"hangar_compact_row\">
          <td><img src=\"$ship[img]\" width=\"100%\" alt=\"" . $info . "\" /></td>
          <td><b>".$ship[name][$spieler[Fraktion]]."</b> (".$planet[$ship[db]]." " . $lang[hangar][units] . ")</td>
          <td align=\"center\">$ress[1]</td>
          <td align=\"center\">$ress[2]</td>
          <td align=\"center\">$ress[3]</td>
          <td align=\"center\">$ress[4]</td>
          <td align=\"center\">$ress[5]</td>
          <td>".showtime($ship[zeit]/$config['Speed'])."</td>
          <td align=\"center\"><img src=\"images/minus.png\" style=\"cursor:pointer;\" onclick=\"change($id,'down');\" /></td>
          <td><input type=\"text\" name=\"schiff[$id]\" id=\"anzahl$id\" value=\"0\" style=\"width:100%;\" tabindex=\"$id\" onchange=\"renew();\" onmouseout=\"this.value=parseInt(this.value);\"/></td>
          <td align=\"center\"><img src=\"images/plus.png\" style=\"cursor:pointer;\" onclick=\"change($id,'up');\" /></td>
          <td><input type=\"button\" style=\"width:100%;\" value=\"all\" onclick=\"set_all($id)\" /></td>
       </tr>";
     } else {//Ende der Kompakten Ansicht
       echo "
       <div class=\"hangar\">
        <div class=\"bau_ship\"><img src=\"".$ship[img]."\" align=\"left\"/></div>
        <div class=\"bau_headline\"><b>".$ship[name][$spieler[Fraktion]]."</b> (".$planet[$ship[db]]." " . $lang[hangar][units] . ")</div>
        <div class=\"hangar_content\">
         <table width=\"100%\">
          <tr>";
          foreach($config_ress as $key=>$value)
            echo "
             <td width=\"15px\"><img src=\"$value[img]\" alt=\"$value\"></td>
             <td align=\"left\">$ress[$key]</td>";
          echo "
           <td width=\"15px\"><img src=\"images/units.png\" alt=\"" . $lang[hangar][crew] . "\" /></td>
           <td align=\"left\">$ress[5]</td>
           <td width=\"15px\"><img src=\"images/uhr.png\" alt=\"" . $lang[hangar][building_time] . "\" /></td>
             <td width=\"70px\" align=\"left\">".showtime($ship[zeit]/$config['Speed'])."</td>          
            </tr>
           </table>
           <div class=\"trennlinie\"></div>
           <div class=\"hangar_desc\">
            <table width=\"100%\">
             <tr>
              <td><b>Attack:</td>
              <td>".statusbar($ship[show_off],10)."</td>
              <td><b>Defense:</td>
              <td>".statusbar($ship[show_def],10)."</td>
              <td rowspan=\"2\">
               <table style=\"border-collapse:collapse;\" align=\"center\">
                <tr>
                 <td><img src=\"images/minus.png\" style=\"cursor:pointer;\" onclick=\"change($id,'down');\" /></td>
                 <td><input type=\"text\" name=\"schiff[$id]\" id=\"anzahl$id\" onchange=\"renew();\" value=\"0\" style=\"width:50px;\" tabindex=\"$id\" onmouseout=\"this.value=parseInt(this.value);\"/></td>
                 <td><img src=\"images/plus.png\" style=\"cursor:pointer;\" onclick=\"change($id,'up');\" /></td>
                </tr>
                <tr>
                 <td colspan=\"3\">
                  <input type=\"button\" style=\"width:100%;\" value=\"all\" onclick=\"set_all($id)\" />
                 </td>
                </tr>
               </table>
              </td>
             </tr>
             <tr>
              <td><b>Lager:</td>
              <td>".statusbar($ship[lager],20000)."</td>
              <td><b>Speed:</td>
              <td>".statusbar(9-(3*$ship[flugzeit]),9)."</td>
             </tr>
            </table>                          
           </div>
          </div>
         </div>";      
       } //Ende normale Ansicht
       //#############################Anzeigen der sich im Bau befindlichen Schiffe
       if(isset($schiffsbau[$id]))
       {
         asort($schiffsbau[$id]);
         foreach($schiffsbau[$id] AS $key=>$sbau)
         {
           if($compact) 
             echo "<tr class=\"schiffsbau\"><td colspan=\"12\">";
           else 
             echo "<div style='text-align: right;'>";
           
		   echo sprintf($lang[hangar][n_units_in_t], $sbau[Anzahl], "<span id=\"schiffsbau$key\">".showtime($sbau[Fertig]-date(U))."</span>");
           echo "<script type=\"text/javascript\">countdown('schiffsbau$key',".round($sbau[Fertig]-date(U)).",false);</script>";
         
           if($compact) 
             echo "</td></tr>";
           else 
             echo "</div>";
         } //ende foreach $schiffsbau
       }
     } //Ende $ok
   } //Ende durchlauf der einzelnen Schiffchen
   if($compact) 
     echo "</table>";   
   echo "
   <div align=\"right\" style=\"margin-top: 20px;\">
    <input type=\"submit\" style=\"width:150px\" id=\"submitbutton\" value=\"-\" />
   </div>
  </form>";

  //################################################################################
  //##                        Option anzeigen                                     ##
  //################################################################################
  echo "
  <div style=\"text-align: center; margin-top: 20px;\">
   <a href=\"game.php?page=$_SESSION[page]&option=changeview\">[";
  if($_SESSION[user][Option_Compact]=="on") echo $lang[hangar][show_details];
  else echo $lang[hangar][hide_details];
   echo "]</a>
  </div>";
} //ENDE HANGER ANZEIGEN (Prüfung ob schon gebaut)
?>
<script type="text/javascript">
  	   document.getElementById('submitbutton').value='<?=$lang[hangar][submit_task]?>';
</script>